"""
@Author : 合肥一元数智教育科技有限公司
@Date :  2025/5/19 8:57
@Description : 
函数参数:
   在定义函数时 可以通过函数的参数列表，将函数体中需要使用的参数传递到函数内部
1.无参数
2.有参数  1个参数   2两个参数  ... 多个参数
3.不定参   参数个数不确定

"""
# 函数参数的传递  一个参数
def print_info(message):
    for i in range(5):
        print(message)


# 调用函数  TypeError: print_info() missing 1 required positional argument: 'message'
# print_info()

# 调用函数时 传入参数
print_info('hello world')


#  计算两个数字的数学运算结果
def calculator(num1, num2, operator):
    # 根据用户输入的运算符  执行对应的操作
    match operator:
        case '+':
            print(f'{num1} + {num2} = {num1 + num2}')
        case '-':
            print(f'{num1} - {num2} = {num1 - num2}')
        case '*':
            print(f'{num1} * {num2} = {num1 * num2}')
        case '/':
            print(f'{num1} / {num2} = {num1 / num2}')
        case _:
            print('请输入正确的运算符号!')


# 调用函数   位置参数  参数实际值侧传入和位置有关
calculator(1, 2, '+')

# 调用函数时 使用关键词参数是根据参数的名字进行赋值  和参数位置无关
calculator(num2=2, operator='+', num1=1)


# 可控制函数打印次数   用户可传递   也可以不传递   不传递使用默认值
def print_info_num(message, num=5):
    for i in range(num):
        print(message)


# 调用函数  打印的次数没有指定 则使用默认值
# print_info_num('hello world')
# 调用函数  指定打印的次数
print_info_num(message='hello world',num=2)
